1. Field of the Invention
This invention relates generally to multimedia frameworks, and more particularly multimedia frameworks having a reduced footprint and capable of operating on mobile computing devices.
2. Description of the Related Art
Java, originally developed by Sun Microsystems, is an object-oriented, multi-threaded, portable, platform-independent, secure programming environment used to develop, test and maintain software programs. Java programs have found extensive use on the World Wide Web, which is the Internet's multimedia information retrieval system. These programs include full-featured interactive, standalone applications, as well as smaller programs, known as applets, that run in a Java-enabled Web browser or applet viewer.
Recently, the computer industry has sought to add computer processing and communications capabilities to devices other than what would normally be considered a traditional computer. Such devices are quite varied and include, for example, personal digital assistants (PDAs), smartphones, cellular phones, desktop screen phones, in-vehicle devices, vehicle traffic lights, kiosks, business organizers (e.g., IBM WorkPadT.TM., PalmPilot.TM., and the like), computer peripherals (such as printers, fax machines, and the like), handheld or palmtop computing devices, and the like. For convenience, these devices, as a class, are referred to herein as “pervasive computing” clients as they are devices that are designed to be connected to servers in a computer network and used for computing purposes regardless of their location.
Palmtop computers and the like are now being proposed as pervasive computing devices for use in an automobile. In-vehicle navigation systems, of course, are well-known. Representative systems are described in U.S. Pat. Nos.: 5,121,326, 5,191,532 and 5,792,109. U.S. Pat. No. 5,121,326 describes a navigation system that displays a general map of the driver's location. As the driver approaches an intersection, the display provides a detailed map of the intersection to provide further guidance to the driver. In U.S. Pat. No. 5,191,532, a navigation system is disclosed where driving directions can be provided even though the user's exact destination is not listed in the systems database. Certain geographic features such as cities and landmarks are used to approximate the destination for purposes of providing directions. In U.S. Pat. No. 5,729,109, the inventors provide a vehicle navigation system that uses speech generation to give spoken directions when the driver is approaching an intersection.
However, these mobile devices are often unable to run many multimedia applications. Although desktop computers are designed to handle the large processing and memory requirements of multimedia applications, most mobile computing devices do not have the processing power or memory demanded by these applications.
One reason for the large processing and memory requirements for multimedia applications is the application program interface (API) required by the underlying multimedia framework called by the applications, often 2–3 megabytes in size. The API is a language and message format used by an application program to communicate with the operating system or some other system or control program such as a database management system (DBMS) or communications protocol. APIs are implemented by writing function calls in the program, which provide the linkage to the required subroutine for execution. Thus, an API implies that some program module is available in the computer to perform the operation or that it must be linked into the existing program to perform the tasks.
FIG. 1 is a diagram showing a prior art Java media system 100. The Java media system 100 includes a desktop computer 102 having a media player 104 coupled to the Internet 106 via a network communication protocol. The processing power of desktop computer 102 is very large compared to that of a mobile computing device, such as a PDA. As such, the desktop computer 102 can efficiently play media files using the installed media player 104. However, as mentioned above, mobile computing devices such as a PDA do not have the processing power or memory requirements needed by conventional Media framework APIs and related implementations. Thus, mobile devices generally cannot run conventional media players created using conventional media framework APIs.
In view of the foregoing, there is a need for systems and methods providing mobile multimedia frameworks capable of operating on mobile computing devices. The systems and methods should provide a multimedia framework capable of operating on mobile devices having reduced processing capability, such as cell phones, PDAa, and Java-enabled car “Telematics”.